package com.shelpe.services.simbasync.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class RptCustomerRealtimeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public RptCustomerRealtimeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andSourceIsNull() {
            addCriterion("source is null");
            return (Criteria) this;
        }

        public Criteria andSourceIsNotNull() {
            addCriterion("source is not null");
            return (Criteria) this;
        }

        public Criteria andSourceEqualTo(Integer value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotEqualTo(Integer value) {
            addCriterion("source <>", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThan(Integer value) {
            addCriterion("source >", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThanOrEqualTo(Integer value) {
            addCriterion("source >=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThan(Integer value) {
            addCriterion("source <", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThanOrEqualTo(Integer value) {
            addCriterion("source <=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceIn(List<Integer> values) {
            addCriterion("source in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotIn(List<Integer> values) {
            addCriterion("source not in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceBetween(Integer value1, Integer value2) {
            addCriterion("source between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotBetween(Integer value1, Integer value2) {
            addCriterion("source not between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andTheDateIsNull() {
            addCriterion("the_date is null");
            return (Criteria) this;
        }

        public Criteria andTheDateIsNotNull() {
            addCriterion("the_date is not null");
            return (Criteria) this;
        }

        public Criteria andTheDateEqualTo(Date value) {
            addCriterionForJDBCDate("the_date =", value, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("the_date <>", value, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateGreaterThan(Date value) {
            addCriterionForJDBCDate("the_date >", value, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("the_date >=", value, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateLessThan(Date value) {
            addCriterionForJDBCDate("the_date <", value, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("the_date <=", value, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateIn(List<Date> values) {
            addCriterionForJDBCDate("the_date in", values, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("the_date not in", values, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("the_date between", value1, value2, "theDate");
            return (Criteria) this;
        }

        public Criteria andTheDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("the_date not between", value1, value2, "theDate");
            return (Criteria) this;
        }

        public Criteria andCpcIsNull() {
            addCriterion("cpc is null");
            return (Criteria) this;
        }

        public Criteria andCpcIsNotNull() {
            addCriterion("cpc is not null");
            return (Criteria) this;
        }

        public Criteria andCpcEqualTo(Float value) {
            addCriterion("cpc =", value, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcNotEqualTo(Float value) {
            addCriterion("cpc <>", value, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcGreaterThan(Float value) {
            addCriterion("cpc >", value, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcGreaterThanOrEqualTo(Float value) {
            addCriterion("cpc >=", value, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcLessThan(Float value) {
            addCriterion("cpc <", value, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcLessThanOrEqualTo(Float value) {
            addCriterion("cpc <=", value, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcIn(List<Float> values) {
            addCriterion("cpc in", values, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcNotIn(List<Float> values) {
            addCriterion("cpc not in", values, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcBetween(Float value1, Float value2) {
            addCriterion("cpc between", value1, value2, "cpc");
            return (Criteria) this;
        }

        public Criteria andCpcNotBetween(Float value1, Float value2) {
            addCriterion("cpc not between", value1, value2, "cpc");
            return (Criteria) this;
        }

        public Criteria andCtrIsNull() {
            addCriterion("ctr is null");
            return (Criteria) this;
        }

        public Criteria andCtrIsNotNull() {
            addCriterion("ctr is not null");
            return (Criteria) this;
        }

        public Criteria andCtrEqualTo(Float value) {
            addCriterion("ctr =", value, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrNotEqualTo(Float value) {
            addCriterion("ctr <>", value, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrGreaterThan(Float value) {
            addCriterion("ctr >", value, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrGreaterThanOrEqualTo(Float value) {
            addCriterion("ctr >=", value, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrLessThan(Float value) {
            addCriterion("ctr <", value, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrLessThanOrEqualTo(Float value) {
            addCriterion("ctr <=", value, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrIn(List<Float> values) {
            addCriterion("ctr in", values, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrNotIn(List<Float> values) {
            addCriterion("ctr not in", values, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrBetween(Float value1, Float value2) {
            addCriterion("ctr between", value1, value2, "ctr");
            return (Criteria) this;
        }

        public Criteria andCtrNotBetween(Float value1, Float value2) {
            addCriterion("ctr not between", value1, value2, "ctr");
            return (Criteria) this;
        }

        public Criteria andImpressionIsNull() {
            addCriterion("impression is null");
            return (Criteria) this;
        }

        public Criteria andImpressionIsNotNull() {
            addCriterion("impression is not null");
            return (Criteria) this;
        }

        public Criteria andImpressionEqualTo(Integer value) {
            addCriterion("impression =", value, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionNotEqualTo(Integer value) {
            addCriterion("impression <>", value, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionGreaterThan(Integer value) {
            addCriterion("impression >", value, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionGreaterThanOrEqualTo(Integer value) {
            addCriterion("impression >=", value, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionLessThan(Integer value) {
            addCriterion("impression <", value, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionLessThanOrEqualTo(Integer value) {
            addCriterion("impression <=", value, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionIn(List<Integer> values) {
            addCriterion("impression in", values, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionNotIn(List<Integer> values) {
            addCriterion("impression not in", values, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionBetween(Integer value1, Integer value2) {
            addCriterion("impression between", value1, value2, "impression");
            return (Criteria) this;
        }

        public Criteria andImpressionNotBetween(Integer value1, Integer value2) {
            addCriterion("impression not between", value1, value2, "impression");
            return (Criteria) this;
        }

        public Criteria andRoiIsNull() {
            addCriterion("roi is null");
            return (Criteria) this;
        }

        public Criteria andRoiIsNotNull() {
            addCriterion("roi is not null");
            return (Criteria) this;
        }

        public Criteria andRoiEqualTo(Float value) {
            addCriterion("roi =", value, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiNotEqualTo(Float value) {
            addCriterion("roi <>", value, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiGreaterThan(Float value) {
            addCriterion("roi >", value, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiGreaterThanOrEqualTo(Float value) {
            addCriterion("roi >=", value, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiLessThan(Float value) {
            addCriterion("roi <", value, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiLessThanOrEqualTo(Float value) {
            addCriterion("roi <=", value, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiIn(List<Float> values) {
            addCriterion("roi in", values, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiNotIn(List<Float> values) {
            addCriterion("roi not in", values, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiBetween(Float value1, Float value2) {
            addCriterion("roi between", value1, value2, "roi");
            return (Criteria) this;
        }

        public Criteria andRoiNotBetween(Float value1, Float value2) {
            addCriterion("roi not between", value1, value2, "roi");
            return (Criteria) this;
        }

        public Criteria andClickIsNull() {
            addCriterion("click is null");
            return (Criteria) this;
        }

        public Criteria andClickIsNotNull() {
            addCriterion("click is not null");
            return (Criteria) this;
        }

        public Criteria andClickEqualTo(Integer value) {
            addCriterion("click =", value, "click");
            return (Criteria) this;
        }

        public Criteria andClickNotEqualTo(Integer value) {
            addCriterion("click <>", value, "click");
            return (Criteria) this;
        }

        public Criteria andClickGreaterThan(Integer value) {
            addCriterion("click >", value, "click");
            return (Criteria) this;
        }

        public Criteria andClickGreaterThanOrEqualTo(Integer value) {
            addCriterion("click >=", value, "click");
            return (Criteria) this;
        }

        public Criteria andClickLessThan(Integer value) {
            addCriterion("click <", value, "click");
            return (Criteria) this;
        }

        public Criteria andClickLessThanOrEqualTo(Integer value) {
            addCriterion("click <=", value, "click");
            return (Criteria) this;
        }

        public Criteria andClickIn(List<Integer> values) {
            addCriterion("click in", values, "click");
            return (Criteria) this;
        }

        public Criteria andClickNotIn(List<Integer> values) {
            addCriterion("click not in", values, "click");
            return (Criteria) this;
        }

        public Criteria andClickBetween(Integer value1, Integer value2) {
            addCriterion("click between", value1, value2, "click");
            return (Criteria) this;
        }

        public Criteria andClickNotBetween(Integer value1, Integer value2) {
            addCriterion("click not between", value1, value2, "click");
            return (Criteria) this;
        }

        public Criteria andCostIsNull() {
            addCriterion("cost is null");
            return (Criteria) this;
        }

        public Criteria andCostIsNotNull() {
            addCriterion("cost is not null");
            return (Criteria) this;
        }

        public Criteria andCostEqualTo(Integer value) {
            addCriterion("cost =", value, "cost");
            return (Criteria) this;
        }

        public Criteria andCostNotEqualTo(Integer value) {
            addCriterion("cost <>", value, "cost");
            return (Criteria) this;
        }

        public Criteria andCostGreaterThan(Integer value) {
            addCriterion("cost >", value, "cost");
            return (Criteria) this;
        }

        public Criteria andCostGreaterThanOrEqualTo(Integer value) {
            addCriterion("cost >=", value, "cost");
            return (Criteria) this;
        }

        public Criteria andCostLessThan(Integer value) {
            addCriterion("cost <", value, "cost");
            return (Criteria) this;
        }

        public Criteria andCostLessThanOrEqualTo(Integer value) {
            addCriterion("cost <=", value, "cost");
            return (Criteria) this;
        }

        public Criteria andCostIn(List<Integer> values) {
            addCriterion("cost in", values, "cost");
            return (Criteria) this;
        }

        public Criteria andCostNotIn(List<Integer> values) {
            addCriterion("cost not in", values, "cost");
            return (Criteria) this;
        }

        public Criteria andCostBetween(Integer value1, Integer value2) {
            addCriterion("cost between", value1, value2, "cost");
            return (Criteria) this;
        }

        public Criteria andCostNotBetween(Integer value1, Integer value2) {
            addCriterion("cost not between", value1, value2, "cost");
            return (Criteria) this;
        }

        public Criteria andCartTotalIsNull() {
            addCriterion("cart_total is null");
            return (Criteria) this;
        }

        public Criteria andCartTotalIsNotNull() {
            addCriterion("cart_total is not null");
            return (Criteria) this;
        }

        public Criteria andCartTotalEqualTo(Integer value) {
            addCriterion("cart_total =", value, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalNotEqualTo(Integer value) {
            addCriterion("cart_total <>", value, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalGreaterThan(Integer value) {
            addCriterion("cart_total >", value, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("cart_total >=", value, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalLessThan(Integer value) {
            addCriterion("cart_total <", value, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalLessThanOrEqualTo(Integer value) {
            addCriterion("cart_total <=", value, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalIn(List<Integer> values) {
            addCriterion("cart_total in", values, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalNotIn(List<Integer> values) {
            addCriterion("cart_total not in", values, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalBetween(Integer value1, Integer value2) {
            addCriterion("cart_total between", value1, value2, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andCartTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("cart_total not between", value1, value2, "cartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalIsNull() {
            addCriterion("direct_cart_total is null");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalIsNotNull() {
            addCriterion("direct_cart_total is not null");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalEqualTo(Integer value) {
            addCriterion("direct_cart_total =", value, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalNotEqualTo(Integer value) {
            addCriterion("direct_cart_total <>", value, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalGreaterThan(Integer value) {
            addCriterion("direct_cart_total >", value, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("direct_cart_total >=", value, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalLessThan(Integer value) {
            addCriterion("direct_cart_total <", value, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalLessThanOrEqualTo(Integer value) {
            addCriterion("direct_cart_total <=", value, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalIn(List<Integer> values) {
            addCriterion("direct_cart_total in", values, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalNotIn(List<Integer> values) {
            addCriterion("direct_cart_total not in", values, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalBetween(Integer value1, Integer value2) {
            addCriterion("direct_cart_total between", value1, value2, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectCartTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("direct_cart_total not between", value1, value2, "directCartTotal");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionIsNull() {
            addCriterion("direct_transaction is null");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionIsNotNull() {
            addCriterion("direct_transaction is not null");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionEqualTo(Float value) {
            addCriterion("direct_transaction =", value, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionNotEqualTo(Float value) {
            addCriterion("direct_transaction <>", value, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionGreaterThan(Float value) {
            addCriterion("direct_transaction >", value, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionGreaterThanOrEqualTo(Float value) {
            addCriterion("direct_transaction >=", value, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionLessThan(Float value) {
            addCriterion("direct_transaction <", value, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionLessThanOrEqualTo(Float value) {
            addCriterion("direct_transaction <=", value, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionIn(List<Float> values) {
            addCriterion("direct_transaction in", values, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionNotIn(List<Float> values) {
            addCriterion("direct_transaction not in", values, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionBetween(Float value1, Float value2) {
            addCriterion("direct_transaction between", value1, value2, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionNotBetween(Float value1, Float value2) {
            addCriterion("direct_transaction not between", value1, value2, "directTransaction");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingIsNull() {
            addCriterion("direct_transaction_shipping is null");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingIsNotNull() {
            addCriterion("direct_transaction_shipping is not null");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingEqualTo(Integer value) {
            addCriterion("direct_transaction_shipping =", value, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingNotEqualTo(Integer value) {
            addCriterion("direct_transaction_shipping <>", value, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingGreaterThan(Integer value) {
            addCriterion("direct_transaction_shipping >", value, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingGreaterThanOrEqualTo(Integer value) {
            addCriterion("direct_transaction_shipping >=", value, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingLessThan(Integer value) {
            addCriterion("direct_transaction_shipping <", value, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingLessThanOrEqualTo(Integer value) {
            addCriterion("direct_transaction_shipping <=", value, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingIn(List<Integer> values) {
            addCriterion("direct_transaction_shipping in", values, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingNotIn(List<Integer> values) {
            addCriterion("direct_transaction_shipping not in", values, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingBetween(Integer value1, Integer value2) {
            addCriterion("direct_transaction_shipping between", value1, value2, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andDirectTransactionShippingNotBetween(Integer value1, Integer value2) {
            addCriterion("direct_transaction_shipping not between", value1, value2, "directTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalIsNull() {
            addCriterion("fav_item_total is null");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalIsNotNull() {
            addCriterion("fav_item_total is not null");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalEqualTo(Integer value) {
            addCriterion("fav_item_total =", value, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalNotEqualTo(Integer value) {
            addCriterion("fav_item_total <>", value, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalGreaterThan(Integer value) {
            addCriterion("fav_item_total >", value, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("fav_item_total >=", value, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalLessThan(Integer value) {
            addCriterion("fav_item_total <", value, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalLessThanOrEqualTo(Integer value) {
            addCriterion("fav_item_total <=", value, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalIn(List<Integer> values) {
            addCriterion("fav_item_total in", values, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalNotIn(List<Integer> values) {
            addCriterion("fav_item_total not in", values, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalBetween(Integer value1, Integer value2) {
            addCriterion("fav_item_total between", value1, value2, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavItemTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("fav_item_total not between", value1, value2, "favItemTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalIsNull() {
            addCriterion("fav_shop_total is null");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalIsNotNull() {
            addCriterion("fav_shop_total is not null");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalEqualTo(Integer value) {
            addCriterion("fav_shop_total =", value, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalNotEqualTo(Integer value) {
            addCriterion("fav_shop_total <>", value, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalGreaterThan(Integer value) {
            addCriterion("fav_shop_total >", value, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("fav_shop_total >=", value, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalLessThan(Integer value) {
            addCriterion("fav_shop_total <", value, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalLessThanOrEqualTo(Integer value) {
            addCriterion("fav_shop_total <=", value, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalIn(List<Integer> values) {
            addCriterion("fav_shop_total in", values, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalNotIn(List<Integer> values) {
            addCriterion("fav_shop_total not in", values, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalBetween(Integer value1, Integer value2) {
            addCriterion("fav_shop_total between", value1, value2, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavShopTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("fav_shop_total not between", value1, value2, "favShopTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalIsNull() {
            addCriterion("fav_total is null");
            return (Criteria) this;
        }

        public Criteria andFavTotalIsNotNull() {
            addCriterion("fav_total is not null");
            return (Criteria) this;
        }

        public Criteria andFavTotalEqualTo(Integer value) {
            addCriterion("fav_total =", value, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalNotEqualTo(Integer value) {
            addCriterion("fav_total <>", value, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalGreaterThan(Integer value) {
            addCriterion("fav_total >", value, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("fav_total >=", value, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalLessThan(Integer value) {
            addCriterion("fav_total <", value, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalLessThanOrEqualTo(Integer value) {
            addCriterion("fav_total <=", value, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalIn(List<Integer> values) {
            addCriterion("fav_total in", values, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalNotIn(List<Integer> values) {
            addCriterion("fav_total not in", values, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalBetween(Integer value1, Integer value2) {
            addCriterion("fav_total between", value1, value2, "favTotal");
            return (Criteria) this;
        }

        public Criteria andFavTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("fav_total not between", value1, value2, "favTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalIsNull() {
            addCriterion("indirect_cart_total is null");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalIsNotNull() {
            addCriterion("indirect_cart_total is not null");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalEqualTo(Integer value) {
            addCriterion("indirect_cart_total =", value, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalNotEqualTo(Integer value) {
            addCriterion("indirect_cart_total <>", value, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalGreaterThan(Integer value) {
            addCriterion("indirect_cart_total >", value, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("indirect_cart_total >=", value, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalLessThan(Integer value) {
            addCriterion("indirect_cart_total <", value, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalLessThanOrEqualTo(Integer value) {
            addCriterion("indirect_cart_total <=", value, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalIn(List<Integer> values) {
            addCriterion("indirect_cart_total in", values, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalNotIn(List<Integer> values) {
            addCriterion("indirect_cart_total not in", values, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalBetween(Integer value1, Integer value2) {
            addCriterion("indirect_cart_total between", value1, value2, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectCartTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("indirect_cart_total not between", value1, value2, "indirectCartTotal");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionIsNull() {
            addCriterion("indirect_transaction is null");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionIsNotNull() {
            addCriterion("indirect_transaction is not null");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionEqualTo(Float value) {
            addCriterion("indirect_transaction =", value, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionNotEqualTo(Float value) {
            addCriterion("indirect_transaction <>", value, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionGreaterThan(Float value) {
            addCriterion("indirect_transaction >", value, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionGreaterThanOrEqualTo(Float value) {
            addCriterion("indirect_transaction >=", value, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionLessThan(Float value) {
            addCriterion("indirect_transaction <", value, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionLessThanOrEqualTo(Float value) {
            addCriterion("indirect_transaction <=", value, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionIn(List<Float> values) {
            addCriterion("indirect_transaction in", values, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionNotIn(List<Float> values) {
            addCriterion("indirect_transaction not in", values, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionBetween(Float value1, Float value2) {
            addCriterion("indirect_transaction between", value1, value2, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionNotBetween(Float value1, Float value2) {
            addCriterion("indirect_transaction not between", value1, value2, "indirectTransaction");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingIsNull() {
            addCriterion("indirect_transaction_shipping is null");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingIsNotNull() {
            addCriterion("indirect_transaction_shipping is not null");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingEqualTo(Integer value) {
            addCriterion("indirect_transaction_shipping =", value, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingNotEqualTo(Integer value) {
            addCriterion("indirect_transaction_shipping <>", value, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingGreaterThan(Integer value) {
            addCriterion("indirect_transaction_shipping >", value, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingGreaterThanOrEqualTo(Integer value) {
            addCriterion("indirect_transaction_shipping >=", value, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingLessThan(Integer value) {
            addCriterion("indirect_transaction_shipping <", value, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingLessThanOrEqualTo(Integer value) {
            addCriterion("indirect_transaction_shipping <=", value, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingIn(List<Integer> values) {
            addCriterion("indirect_transaction_shipping in", values, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingNotIn(List<Integer> values) {
            addCriterion("indirect_transaction_shipping not in", values, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingBetween(Integer value1, Integer value2) {
            addCriterion("indirect_transaction_shipping between", value1, value2, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andIndirectTransactionShippingNotBetween(Integer value1, Integer value2) {
            addCriterion("indirect_transaction_shipping not between", value1, value2, "indirectTransactionShipping");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalIsNull() {
            addCriterion("transaction_total is null");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalIsNotNull() {
            addCriterion("transaction_total is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalEqualTo(Float value) {
            addCriterion("transaction_total =", value, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalNotEqualTo(Float value) {
            addCriterion("transaction_total <>", value, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalGreaterThan(Float value) {
            addCriterion("transaction_total >", value, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalGreaterThanOrEqualTo(Float value) {
            addCriterion("transaction_total >=", value, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalLessThan(Float value) {
            addCriterion("transaction_total <", value, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalLessThanOrEqualTo(Float value) {
            addCriterion("transaction_total <=", value, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalIn(List<Float> values) {
            addCriterion("transaction_total in", values, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalNotIn(List<Float> values) {
            addCriterion("transaction_total not in", values, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalBetween(Float value1, Float value2) {
            addCriterion("transaction_total between", value1, value2, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionTotalNotBetween(Float value1, Float value2) {
            addCriterion("transaction_total not between", value1, value2, "transactionTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalIsNull() {
            addCriterion("transaction_shipping_total is null");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalIsNotNull() {
            addCriterion("transaction_shipping_total is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalEqualTo(Integer value) {
            addCriterion("transaction_shipping_total =", value, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalNotEqualTo(Integer value) {
            addCriterion("transaction_shipping_total <>", value, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalGreaterThan(Integer value) {
            addCriterion("transaction_shipping_total >", value, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("transaction_shipping_total >=", value, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalLessThan(Integer value) {
            addCriterion("transaction_shipping_total <", value, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalLessThanOrEqualTo(Integer value) {
            addCriterion("transaction_shipping_total <=", value, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalIn(List<Integer> values) {
            addCriterion("transaction_shipping_total in", values, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalNotIn(List<Integer> values) {
            addCriterion("transaction_shipping_total not in", values, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalBetween(Integer value1, Integer value2) {
            addCriterion("transaction_shipping_total between", value1, value2, "transactionShippingTotal");
            return (Criteria) this;
        }

        public Criteria andTransactionShippingTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("transaction_shipping_total not between", value1, value2, "transactionShippingTotal");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}